package com.xxx.video.mine.adapters;

import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.xxx.video.R;
import com.xxx.video.commen.adapters.BaseRecycleViewAdapter;
import com.xxx.video.commen.adapters.BaseViewHolder;
import com.xxx.video.commen.utils.CountUtils;
import com.xxx.video.commen.utils.DimensionUtil;
import com.xxx.video.commen.utils.DownloadUtils;
import com.xxx.video.commen.utils.ResourcesUtils;
import com.xxx.video.commen.utils.StringUtils;
import com.xxx.video.mine.beans.FavoriteListBean;

import butterknife.BindView;

public class FavoriteListAdapter extends BaseRecycleViewAdapter<FavoriteListBean.PageBean.ListBean, FavoriteListAdapter.MyHolder> {


    public FavoriteListAdapter(@NonNull Context context) {
        super(context);
    }

    @Override
    public MyHolder onCreateDefaultViewHolder(View view, int viewType) {
        return new MyHolder(view);
    }

    @Override
    public int getItemLayout(int viewType) {
        return R.layout.item_favorite_list;
    }

    class MyHolder extends BaseViewHolder {

        @BindView(R.id.iv_item_favorite_cover)
        ImageView ivItemFavoriteCover;
        @BindView(R.id.iv_item_favorite_delete)
        ImageView ivItemFavoriteDelete;
        @BindView(R.id.tv_item_favorite_title)
        TextView tvItemFavoriteTitle;
        @BindView(R.id.tv_item_favorite_look)
        TextView tvItemFavoriteLook;
        @BindView(R.id.tv_item_favorite_comment)
        TextView tvItemFavoriteComment;
        @BindView(R.id.tv_item_favorite_type)
        TextView tvItemFavoriteType;
        @BindView(R.id.tv_item_favorite_download_count)
        TextView tvItemFavoriteDownloadCount;
        @BindView(R.id.tv_item_favorite_time)
        TextView tvItemFavoriteTime;

        public MyHolder(View itemView) {
            super(itemView);
        }

        @Override
        public void setData2View(int position) {
            FavoriteListBean.PageBean.ListBean listBean = getItem(position);
            /*
             * title
             */
            tvItemFavoriteTitle.setText(StringUtils.getInstance().getNotEmptyMsg(listBean.fTitle));
            /*
             * cover
             */
            Glide.with(context).load(ResourcesUtils.getInstance().getImagePath(listBean.fPicurl))
                    .apply(new RequestOptions()
                            .error(R.drawable.bg_place_holder_nine_five)
                            .placeholder(R.drawable.bg_place_holder_nine_five)
                            .transform(new CenterCrop(), new RoundedCorners(DimensionUtil.dpToPx(5))))
                    .into(ivItemFavoriteCover);
            /*
             * play count
             */
            tvItemFavoriteLook.setText(CountUtils.getInstance().getCount(listBean.fPlayTimes));
            /*
             *comment count
             */
            tvItemFavoriteComment.setText(CountUtils.getInstance().getCount(listBean.fCommentTimes));
            /*
             * download count
             */
            tvItemFavoriteDownloadCount.setText(CountUtils.getInstance().getCount(listBean.fDownloadTimes));
            tvItemFavoriteDownloadCount.setOnClickListener(v -> DownloadUtils.getInstance().startDownload(context,listBean.fVideo,listBean.fId,
                    listBean.fTitle,listBean.fPicurl,listBean.fCreateTime,listBean.fPlayTimes,listBean.fCommentTimes,0));
            /*
             * type
             */
//            String type = String.format("%s﹒%s", StringUtils.getInstance().getNotEmptyMsg(String.valueOf(listBean.fTypeName)), StringUtils.getInstance().getNotEmptyMsg(String.valueOf(listBean.fLabel)));
//            if (TextUtils.isEmpty(listBean.fTypeName) || TextUtils.isEmpty(listBean.fLabel)) {
//                type = type.replace("﹒", "");
//            }
//            /*
//             *label
//             */
//            tvItemFavoriteType.setText(type);
            /*
             * time
             */
            tvItemFavoriteTime.setText(StringUtils.getInstance().getNotEmptyMsg(String.valueOf(listBean.fCreateTime)));
            ivItemFavoriteDelete.setOnClickListener(v -> {
                if (onItemClickListener != null) {
                    onItemClickListener.onItemClick(listBean, position, 1);
                }
            });
        }
    }
}
